home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / XmSpinBox.z / XmSpinBox
Text File  |  1998-10-30  |  89KB  |  1,321 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx - The SpinBox widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/SpinB.h>
  13.  
  14.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.           SpinBox allows the user to select a value from a ring of
  16.           related but mutually exclusive choices which are displayed
  17.           in sequence. The SpinBox always has an increment arrow, a
  18.           decrement arrow, and one or more other children.  The
  19.           choices are displayed, one at a time, in a traversable text
  20.           child ( XXXXmmmmTTTTeeeexxxxtttt or XXXXmmmmTTTTeeeexxxxttttFFFFiiiieeeelllldddd. The user clicks <<<<BBBBttttnnnn1111>>>> on an
  21.           arrow to display the next (or previous) item in the ring of
  22.           choices. By pressing and holding <<<<BBBBttttnnnn1111>>>> on an arrow, the
  23.           user continuously cycles through the choices.
  24.  
  25.           The traversable children in a SpinBox can be of type
  26.           XXXXmmmmNNNNUUUUMMMMEEEERRRRIIIICCCC or XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG, as defined by the
  27.           XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeeeconstraint resource. The ring of choices
  28.           for numeric children is defined by minimum, maximum,
  29.           incremental, and decimal point values. The ring of choices
  30.           for string children is defined in an array of compound
  31.           strings.
  32.  
  33.           The application programmer can include multiple traversable
  34.           children in the SpinBox. For example, a SpinBox might
  35.           consist of a pair of arrows and month, day, and year text
  36.           fields. The arrows only spin the child that currently has
  37.           focus.
  38.  
  39.           Arrow size is specified by the SpinBox resource
  40.           XXXXmmmmNNNNaaaarrrrrrrroooowwwwSSSSiiiizzzzeeee. This value sets both width and height of each
  41.           arrow in pixels.
  42.  
  43.           The programmer can display SpinBox arrows in one of several
  44.           layouts, as specified by the XXXXmmmmNNNNaaaarrrrrrrroooowwwwLLLLaaaayyyyoooouuuuttttresource:
  45.  
  46.           XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG
  47.                     Places a pair of left and right arrows before the
  48.                     children.
  49.  
  50.           XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____EEEENNNNDDDD
  51.                     Places a pair of left and right arrows after the
  52.                     children.
  53.  
  54.           XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____SSSSPPPPLLLLIIIITTTT
  55.                     Places one arrow on each side of the children.
  56.  
  57.           XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____FFFFLLLLAAAATTTT____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG
  58.                     Places a pair of arrows side by side before the
  59.                     _X_m_S_p_i_n_B_o_xchildren.
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  71.  
  72.  
  73.  
  74.           XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____FFFFLLLLAAAATTTT____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG
  75.                     Places a pair of arrows side by side after the
  76.                     _X_m_S_p_i_n_B_o_xchildren.
  77.  
  78.           Positions for XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGGand XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____EEEENNNNDDDD are
  79.           dependent on the VVVVeeeennnnddddoooorrrrSSSShhhheeeellllllll resource XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn.
  80.           When layout direction is left-to-right, beginning arrows are
  81.           positioned to the left of the children. When layout
  82.           direction is right-to-left, beginning arrows are positioned
  83.           to the right.
  84.  
  85.           The actions of the arrows are determined by the VVVVeeeennnnddddoooorrrrSSSShhhheeeellllllll
  86.           resource XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn.  For left-to-right layouts, the
  87.           right arrow is the increment arrow and the left arrow is the
  88.           decrement arrow. For right-to-left layouts, the right arrow
  89.           is the decrement arrow and the left arrow is the increment
  90.           arrow.
  91.  
  92.           For a numeric type child, the increment arrow increases the
  93.           displayed value by the incremental value up to the maximum.
  94.           The decrement arrow decreases the displayed value by the
  95.           given incremental value down to the minimum.
  96.  
  97.           The increment arrow for a string type child moves toward the
  98.           last entry of the array of compound strings (by increasing
  99.           the SpinBox constraint resource XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn). The decrement
  100.           arrow moves toward the first entry of the compound string
  101.           array.
  102.  
  103.           The programmer can also control the sensitivity of each
  104.           arrow in the SpinBox. Sensitive arrows spin choices;
  105.           insensitive arrows do not spin choices.  Arrow sensitivity
  106.           is set for the SpinBox widget by using the
  107.           XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAArrrrrrrroooowwwwSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy resource, but it can be modified
  108.           on a per child basis by using the XXXXmmmmNNNNaaaarrrrrrrroooowwwwSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy
  109.           constraint resource.
  110.  
  111.           SpinBox provides two callbacks to application programmers.
  112.           (In addition, the callbacks of the SpinBox's children may be
  113.           invoked.) Each of these callbacks receives a pointer to
  114.           XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt.  The XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk
  115.           procedures are called _b_e_f_o_r_e a new choice is displayed.  The
  116.           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk procedures are called _a_f_t_e_r a new
  117.           choice is displayed.
  118.  
  119.           XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk tells the application what the new
  120.           position will be in the ring of choices. This callback can
  121.           be used to make the SpinBox stop at the upper and lower
  122.           limits or go to a different, nonconsecutive choice. The
  123.           application allows the change in position by leaving the
  124.           _d_o_i_t member set to True. The application can spin to a
  125.           position other than the next consecutive position by leaving
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  137.  
  138.  
  139.  
  140.           _d_o_i_t set to True and by changing the _p_o_s_i_t_i_o_n member to the
  141.           desired position. When _d_o_i_t is set to False by an
  142.           application, there is no change in the choice displayed.
  143.  
  144.           After a new choice is displayed, the XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk
  145.           procedure is called. The application can use this procedure
  146.           to perform tasks when specific values are reached or when
  147.           boundaries are crossed. For example, if the user spins from
  148.           January back to December, the application could change to
  149.           the previous year. If the user spins from December to
  150.           January, the application could change to the next year.
  151.  
  152.           SpinBox dimensions can be set using the Core resources
  153.           XXXXmmmmNNNNhhhheeeeiiiigggghhhhtttt and XXXXmmmmNNNNwwwwiiiiddddtttthhhh. If dimensions are not specified, the
  154.           SpinBox size is determined by the sizes of its arrows and
  155.           children. The SpinBox will attempt to grow so that the
  156.           arrows and all children are visible.
  157.  
  158.           SpinBox uses the _X_m_Q_T_a_c_c_e_s_s_T_e_x_t_u_a_ltrait and holds the
  159.           _X_m_Q_T_n_a_v_i_g_a_t_o_r trait.
  160.  
  161.         CCCCllllaaaasssssssseeeessss
  162.           SpinBox inherits behavior, resources, and traits from the
  163.           CCCCoooorrrreeee, CCCCoooommmmppppoooossssiiiitttteeee, CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt, and XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr classes.
  164.  
  165.           The class pointer is _x_m_S_p_i_n_B_o_x_W_i_d_g_e_t_C_l_a_s_s.
  166.  
  167.           The class name is XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx.
  168.  
  169.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  170.           The following table defines a set of widget resources used
  171.           by the programmer to specify data. The programmer can also
  172.           set the resource values for the inherited classes to set
  173.           attributes for this widget. To reference a resource by name
  174.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or
  175.           XXXXmmmmCCCCprefix and use the remaining letters. To specify one of
  176.           the defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file,
  177.           remove the XXXXmmmm prefix and use the remaining letters (in
  178.           either lowercase or uppercase, but include any underscores
  179.           between words).  The codes in the access column indicate
  180.           whether the given resource can be set at creation time (C),
  181.           set by using XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss
  182.           (G), or is not applicable (N/A).
  183.           XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx RRRReeeessssoooouuuurrrrcccceeee
  184.           SSSSeeeetttt
  185.           NNNNaaaammmmeeee                         CCCCllllaaaassssssss                        TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt              AAAAcccccccceeeessssssss
  186.           XmNarrowLayout               XmCArrowLayout               unsigned char    XmARROWS_BEGINNING   CSG
  187.           XmNarrowOrientation          XmCArrowOrientation          unsigned char    XmARROWS_VERTICAL    CSG
  188.           XmNarrowSize                 XmCArrowSize                 Dimension        16                   CSG
  189.           XmNdefaultArrowSensitivity   XmCDefaultArrowSensitivity   unsigned char    XmARROWS_SENSITIVE   CSG
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  203.  
  204.  
  205.  
  206.           XmNdetailShadowThickness     XmCDetailShadowThickness     Dimension        2                    CSG
  207.           XmNinitialDelay              XmCInitialDelay              unsigned int     250 ms               CSG
  208.           XmNmarginHeight              XmCMarginHeight              Dimension        dynamic              CSG
  209.           XmNmarginWidth               XmCMarginWidth               Dimension        dynamic              CSG
  210.           XmNmodifyVerifyCallback      XmCCallback                  XtCallbackList   NULL                 C
  211.           XmNrepeatDelay               XmCRepeatDelay               unsigned int     200 ms               CSG
  212.           XmNspacing                   XmCSpacing                   Dimension        dynamic              CSG
  213.           XmNvalueChangedCallback      XmCCallback                  XtCallbackList   NULL                 C
  214.  
  215.           XXXXmmmmNNNNaaaarrrrrrrroooowwwwLLLLaaaayyyyoooouuuutttt
  216.                     Specifies placement of the two arrows in the
  217.                     widget. Possible layouts are as follows:
  218.  
  219.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG
  220.                               Places left and right arrows beside each
  221.                               other, before the child(ren).
  222.                               Positioning for this layout is dependent
  223.                               on the VendorShell resource
  224.                               XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn....
  225.  
  226.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____EEEENNNNDDDD
  227.                               Places left and right arrows beside each
  228.                               other, after the child(ren).
  229.                               Positioning for this layout is dependent
  230.                               on the VendorShell resource
  231.                               XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn.
  232.  
  233.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____FFFFLLLLAAAATTTT____BBBBEEEEGGGGIIIINNNNNNNNIIIINNNNGGGG
  234.                               Places a pair of arrows side by side
  235.                               before the _X_m_S_p_i_n_B_o_xchildren.
  236.                               Positioning for this layout is dependent
  237.                               on the VendorShell resource
  238.                               XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn....
  239.  
  240.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____FFFFLLLLAAAATTTT____EEEENNNNDDDD
  241.                               Places a pair of arrows side by side
  242.                               after the _X_m_S_p_i_n_B_o_xchildren. Positioning
  243.                               for this layout is dependent on the
  244.                               VendorShell resource XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn....
  245.  
  246.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____SSSSPPPPLLLLIIIITTTT
  247.                               Places a left arrow on the left side and
  248.                               a right arrow on the right side of the
  249.                               child(ren).
  250.  
  251.           XXXXmmmmNNNNaaaarrrrrrrroooowwwwSSSSiiiizzzzeeee
  252.                     Specifies both the width and height of the arrow
  253.                     in pixels.
  254.  
  255.           XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAArrrrrrrroooowwwwSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy
  256.                     Specifies the default sensitivity of the arrows in
  257.                     the widget. Insensitive arrows change color,
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  269.  
  270.  
  271.  
  272.                     cannot be depressed, and perform no action. (This
  273.                     resource may be overridden by the constraint
  274.                     resource XXXXmmmmNNNNaaaarrrrrrrroooowwwwSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy for individual
  275.                     traversable text children of the SpinBox.)
  276.                     Possible default sensitivity values are as
  277.                     follows:
  278.  
  279.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____SSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  280.                               Both arrows are sensitive.
  281.  
  282.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____DDDDEEEECCCCRRRREEEEMMMMEEEENNNNTTTT____SSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  283.                               Only the decrement arrow (as determined
  284.                               by XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn) is sensitive. The
  285.                               increment arrow is insensitive.
  286.  
  287.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____IIIINNNNCCCCRRRREEEEMMMMEEEENNNNTTTT____SSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  288.                               Only the increment arrow (as determined
  289.                               by XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn) is sensitive. The
  290.                               decrement arrow is insensitive.
  291.  
  292.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____IIIINNNNSSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  293.                               Both arrows are insensitive.
  294.  
  295.           XXXXmmmmNNNNddddeeeettttaaaaiiiillllSSSShhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss
  296.                     Specifies the thickness of the inside arrow
  297.                     shadows. The default thickness is 2 pixels.
  298.  
  299.           XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy
  300.                     Specifies how long, in milliseconds, the mouse
  301.                     button must be held down before automatic spinning
  302.                     begins. In other words, when the user selects the
  303.                     increment or decrement arrow and keeps it
  304.                     depressed, this delay occurs before the choices
  305.                     start spinning. If XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy is 0, then
  306.                     XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyyis used as the initial delay.
  307.  
  308.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnHHHHeeeeiiiigggghhhhtttt
  309.                     Specifies the amount of blank space between the
  310.                     top edge of the SpinBox widget and the first item
  311.                     in each column, and the bottom edge of the SpinBox
  312.                     widget and the last item in each column.
  313.  
  314.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnWWWWiiiiddddtttthhhh
  315.                     Specifies the amount of blank space between the
  316.                     left edge of the SpinBox widget and the first item
  317.                     in each row, and the right edge of the SpinBox
  318.                     widget and the last item in each row.
  319.  
  320.           XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk
  321.                     This callback is called before the SpinBox
  322.                     position changes (see the Constraint resource
  323.                     XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn).  The application can use this
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  335.  
  336.  
  337.  
  338.                     callback to set the next position, change SpinBox
  339.                     resources, or cancel the impending action. For
  340.                     example, this callback can be used to stop the
  341.                     spinning just before wrapping at the upper and
  342.                     lower position boundaries. If the _d_o_i_t member is
  343.                     set to False, nothing happens. Otherwise the
  344.                     position changes. Reasons sent by the callback are
  345.                     XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTT, XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR, XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____FFFFIIIIRRRRSSSSTTTT,
  346.                     or XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____LLLLAAAASSSSTTTT.
  347.  
  348.           XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy
  349.                     When the user selects and keeps an arrow button
  350.                     depressed by pressing and holding <<<<BBBBttttnnnn1111>>>>, spinning
  351.                     begins. After the time specified in
  352.                     XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy elapses, the SpinBox position
  353.                     changes automatically until the arrow button is
  354.                     released.  The XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy resource specifies
  355.                     the delay in milliseconds between each automatic
  356.                     change. If XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy is set to 0 (zero),
  357.                     automatic spinning is turned off and
  358.                     XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyyis ignored.
  359.  
  360.           XXXXmmmmNNNNssssppppaaaacccciiiinnnngggg
  361.                     Specifies the horizontal and vertical spacing
  362.                     between items contained within the SpinBox widget.
  363.  
  364.           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk
  365.                     This is called _n+1 times for _n SpinBox position
  366.                     changes (see the Constraint resource XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn).
  367.                     Reasons sent by the callback are XXXXmmmmCCCCRRRR____OOOOKKKK,
  368.                     XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTT, XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR, XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____FFFFIIIIRRRRSSSSTTTT,
  369.                     or XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____LLLLAAAASSSSTTTT.  Other members are detailed in
  370.                     the callback structure description.
  371.                     XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt
  372.                     RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  373.                     NNNNaaaammmmeeee                   CCCCllllaaaassssssss                 TTTTyyyyppppeeee            DDDDeeeeffffaaaauuuulllltttt                        AAAAcccccccceeeessssssss
  374.                     XmNarrowSensitivity    XmCArrowSensitivity   unsigned char   XmARROWS_DEFAULT_SENSITIVITY   CSG
  375.                     XmNdecimalPoints       XmCDecimalPoints      short           0                              CSG
  376.                     XmNincrementValue      XmCIncrementValue     int             1                              CSG
  377.                     XmNmaximumValue        XmCMaximumValue       int             10                             CSG
  378.                     XmNminimumValue        XmCMinimumValue       int             0                              CSG
  379.                     XmNnumValues           XmCNumValues          int             0                              CSG
  380.                     XmNposition            XmCPosition           int             0                              CSG
  381.                     XmNpositionType        XmCPositionType       char            XmPOSITION_VALUE               CG
  382.                     XmNspinBoxChildType    XmSpinBoxChildType    unsigned char   XmSTRING                       CG
  383.                     XmNvalues              XmCValues             XmStringTable   NULL                           CSG
  384.  
  385.           XXXXmmmmNNNNaaaarrrrrrrroooowwwwSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy
  386.                     Specifies the sensitivity of the arrows for a
  387.                     SpinBox child. By using this resource in the
  388.                     definition of a SpinBox child, the application
  389.                     programmer can override the default SpinBox
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  401.  
  402.  
  403.  
  404.                     sensitivity (set by XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAArrrrrrrroooowwwwSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy)
  405.                     for a particular child. This allows each
  406.                     traversable child to have a different arrow
  407.                     sensitivity. The arrow sensitivity values are as
  408.                     follows:
  409.  
  410.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____SSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  411.                               Both arrows are sensitive.
  412.  
  413.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____DDDDEEEECCCCRRRREEEEMMMMEEEENNNNTTTT____SSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  414.                               Only the decrement arrow (as determined
  415.                               by XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn) is sensitive.
  416.  
  417.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____IIIINNNNCCCCRRRREEEEMMMMEEEENNNNTTTT____SSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  418.                               Only the increment arrow (as determined
  419.                               by XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn) is sensitive.
  420.  
  421.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____IIIINNNNSSSSEEEENNNNSSSSIIIITTTTIIIIVVVVEEEE
  422.                               Both arrows are insensitive.
  423.  
  424.                     XXXXmmmmAAAARRRRRRRROOOOWWWWSSSS____DDDDEEEEFFFFAAAAUUUULLLLTTTT____SSSSEEEENNNNSSSSIIIITTTTIIIIVVVVIIIITTTTYYYY
  425.                               Use the sensitivity specified in the
  426.                               XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttAAAArrrrrrrroooowwwwSSSSeeeennnnssssiiiittttiiiivvvviiiittttyyyy resource.
  427.  
  428.           XXXXmmmmNNNNddddeeeecccciiiimmmmaaaallllPPPPooooiiiinnnnttttssss
  429.                     Specifies the number of decimal places used when
  430.                     displaying the value of a SpinBox numeric type
  431.                     child. If the number of decimal places specified
  432.                     is greater than the number of digits in a
  433.                     displayed value, the value is padded with 0
  434.                     (zeros). For example, when _X_m_N_i_n_i_t_i_a_l_V_a_l_u_e is 1
  435.                     and XXXXmmmmNNNNmmmmaaaaxxxxiiiimmmmuuuummmmVVVVaaaalllluuuueeee is 1000 and XXXXmmmmNNNNddddeeeecccciiiimmmmaaaallllPPPPooooiiiinnnnttttssss
  436.                     is 3, the range of values displayed in the SpinBox
  437.                     is 0.001 to 1.000. This is used only when
  438.                     XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeee is XXXXmmmmNNNNUUUUMMMMEEEERRRRIIIICCCC.
  439.  
  440.           XXXXmmmmNNNNiiiinnnnccccrrrreeeemmmmeeeennnnttttVVVVaaaalllluuuueeee
  441.                     Specifies the amount by which to increment or
  442.                     decrement a SpinBox numeric type child. This is
  443.                     used only when XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeee is XXXXmmmmNNNNUUUUMMMMEEEERRRRIIIICCCC.
  444.  
  445.           XXXXmmmmNNNNmmmmaaaaxxxxiiiimmmmuuuummmmVVVVaaaalllluuuueeee
  446.                     Specifies the highest possible value for a numeric
  447.                     SpinBox. This is used only when
  448.                     XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeeeis XXXXmmmmNNNNUUUUMMMMEEEERRRRIIIICCCC.
  449.  
  450.           XXXXmmmmNNNNmmmmiiiinnnniiiimmmmuuuummmmVVVVaaaalllluuuueeee
  451.                     Specifies the lowest possible value for a numeric
  452.                     SpinBox. This is used only when
  453.                     XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeeeis XXXXmmmmNNNNUUUUMMMMEEEERRRRIIIICCCC.
  454.  
  455.           XXXXmmmmNNNNnnnnuuuummmmVVVVaaaalllluuuueeeessss
  456.  
  457.  
  458.  
  459.      Page 7                                         (printed 10/24/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  467.  
  468.  
  469.  
  470.                     Specifies the number of strings in XXXXmmmmNNNNvvvvaaaalllluuuueeeessss. The
  471.                     application must change this value when strings
  472.                     are added or removed from XXXXmmmmNNNNvvvvaaaalllluuuueeeessss. This is used
  473.                     only when XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeeeis XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.
  474.  
  475.           XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn
  476.                     Specifies the position of the currently displayed
  477.                     item. The interpritation of _X_m_N_p_o_s_i_t_i_o_n is
  478.                     dependent upon the value of the _X_m_N_p_o_s_i_t_i_o_n_T_y_p_e
  479.                     resource.
  480.  
  481.                     When _X_m_N_p_o_s_i_t_i_o_n_T_y_p_e is _X_m_P_O_S_I_T_I_O_N__I_N_D_E_X the
  482.                     _X_m_N_p_o_s_i_t_i_o_n value is interpreted as follows:  For
  483.                     _X_m_S_p_i_n_B_o_x children of type _X_m_N_U_M_E_R_I_C, the
  484.                     _X_m_N_p_o_s_i_t_i_o_n resource is interpreted as an index
  485.                     into an array of items. The minimum allowable
  486.                     value for _X_m_N_p_o_s_i_t_i_o_n is 0. The maximum allowable
  487.                     value for _X_m_N_p_o_s_i_t_i_o_nis ((((XXXXmmmmNNNNmmmmaaaaxxxxiiiimmmmuuuummmmVVVVaaaalllluuuueeee----
  488.                     XXXXmmmmNNNNmmmmiiiinnnniiiimmmmuuuummmmVVVVaaaalllluuuueeee))))////XXXXmmmmNNNNiiiinnnnccccrrrreeeemmmmeeeennnnttttVVVVaaaalllluuuueeee.  The value
  489.                     display by the _X_m_S_p_i_n_B_o_x child is
  490.                     XXXXmmmmNNNNmmmmiiiinnnniiiimmmmuuuummmmVVVVaaaalllluuuueeee++++((((XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn****XXXXmmmmNNNNiiiinnnnccccrrrreeeemmmmeeeennnnttttVVVVaaaalllluuuueeee)))).
  491.                     For _X_m_S_p_i_n_B_o_x children of type _X_m_S_T_R_I_N_G, the
  492.                     _X_m_N_p_o_s_i_t_i_o_n resource is interpreted as an index
  493.                     into an array of _X_m_N_n_u_m_V_a_l_u_e_s items. The minimum
  494.                     allowable value for _X_m_N_p_o_s_i_t_i_o_n is 0. The maximum
  495.                     allowable value for _X_m_N_p_o_s_i_t_i_o_nis XXXXmmmmNNNNnnnnuuuummmmVVVVaaaalllluuuueeeessss ----
  496.                     1111. The value displayed by the _X_m_S_p_i_n_B_o_x is the
  497.                     _X_m_N_p_o_s_i_t_i_o_n'th value in the _X_m_N_v_a_l_u_e_s array.
  498.  
  499.                     When _X_m_N_p_o_s_i_t_i_o_n_T_y_p_e is _X_m_P_O_S_I_T_I_O_N__V_A_L_U_E the
  500.                     _X_m_N_p_o_s_i_t_i_o_n value is interpreted as follows:
  501.  
  502.                     For _X_m_S_p_i_n_B_o_x children of type _X_m_N_U_M_E_R_I_C, the
  503.                     _X_m_N_p_o_s_i_t_i_o_n resource is interpreted as the actual
  504.                     value to be displayed. The minimum allowable value
  505.                     for _X_m_N_p_o_s_i_t_i_o_n is _X_m_N_m_i_n_i_m_u_m_V_a_l_u_e. The maximum
  506.                     allowable value for _X_m_N_p_o_s_i_t_i_o_n is
  507.                     _X_m_N_m_a_x_i_m_u_m_V_a_l_u_e.  The value displayed by the
  508.                     _X_m_S_p_i_n_B_o_x child is _X_m_N_p_o_s_i_t_i_o_n. For _X_m_S_p_i_n_B_o_x
  509.                     children of type _X_m_S_T_R_I_N_G, the interpretation is
  510.                     the same for _X_m_P_O_S_I_T_I_O_N__V_A_L_U_E as for
  511.                     _X_m_P_O_S_I_T_I_O_N__I_N_D_E_X.
  512.  
  513.                     Position values falling outside the specified
  514.                     range are invalid. When an application assigns a
  515.                     value to _X_m_N_p_o_s_i_t_i_o_n which is less than the
  516.                     minimum, _X_m_N_p_o_s_i_t_i_o_n is set to the minimum and an
  517.                     error message is displayed. When an application
  518.                     assigns a value to _X_m_N_p_o_s_i_t_i_o_n which is greater
  519.                     than the maximum, _X_m_N_p_o_s_i_t_i_o_n is set to the
  520.                     maximum and an error message is displayed.
  521.  
  522.  
  523.  
  524.  
  525.      Page 8                                         (printed 10/24/98)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  533.  
  534.  
  535.  
  536.           XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnTTTTyyyyppppeeee
  537.                     Specifies how values the _X_m_N_p_o_s_i_t_i_o_n resource are
  538.                     to be interpreted. Valid values include
  539.                     _X_m_P_O_S_I_T_I_O_N__I_N_D_E_Xand _X_m_P_O_S_I_T_I_O_N__V_A_L_U_E.
  540.  
  541.           XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeee
  542.                     Specifies the type of data displayed in the child:
  543.  
  544.                     XXXXmmmmNNNNUUUUMMMMEEEERRRRIIIICCCC The SpinBox choice range is defined by
  545.                               numeric minimum, maximum, and
  546.                               incremental values.
  547.  
  548.                     XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG  The SpinBox choices are alphanumeric.
  549.  
  550.           XXXXmmmmNNNNvvvvaaaalllluuuueeeessss Specifies the array of XXXXmmmmSSSSttttrrrriiiinnnnggggs to be displayed
  551.                     in a SpinBox string type child. The application
  552.                     must change XXXXmmmmNNNNnnnnuuuummmmVVVVaaaalllluuuueeeessss when strings are added to
  553.                     or removed from XXXXmmmmNNNNvvvvaaaalllluuuueeeessss. This is used only when
  554.                     XXXXmmmmNNNNssssppppiiiinnnnBBBBooooxxxxCCCChhhhiiiillllddddTTTTyyyyppppeeee is XXXXmmmmSSSSTTTTRRRRIIIINNNNGGGG.
  555.  
  556.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  557.           SpinBox inherits behavior and resources from the
  558.           superclasses described in the following tables. For a
  559.           complete description of each resource, refer to the
  560.           reference page for that superclass.
  561.           XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr RRRReeeessssoooouuuurrrrcccceeee
  562.           SSSSeeeetttt
  563.           NNNNaaaammmmeeee                      CCCCllllaaaassssssss                   TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  564.           XmNbottomShadowColor      XmCBottomShadowColor    Pixel               dynamic                CSG
  565.           XmNbottomShadowPixmap     XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  566.           XmNforeground             XmCForeground           Pixel               dynamic                CSG
  567.           XmNhelpCallback           XmCCallback             XtCallbackList      NULL                   C
  568.           XmNhighlightColor         XmCHighlightColor       Pixel               dynamic                CSG
  569.           XmNhighlightPixmap        XmCHighlightPixmap      Pixmap              dynamic                CSG
  570.           XmNinitialFocus           XmCInitialFocus         Widget              dynamic                CSG
  571.           XmNlayoutDirection        XmCLayoutDirection      XmDirection         dynamic                CG
  572.           XmNnavigationType         XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
  573.           XmNpopupHandlerCallback   XmCCallback             XtCallbackList      NULL                   C
  574.           XmNshadowThickness        XmCShadowThickness      Dimension           0                      CSG
  575.           XmNstringDirection        XmCStringDirection      XmStringDirection   dynamic                CG
  576.           XmNtopShadowColor         XmCTopShadowColor       Pixel               dynamic                CSG
  577.           XmNtopShadowPixmap        XmCTopShadowPixmap      Pixmap              dynamic                CSG
  578.           XmNtraversalOn            XmCTraversalOn          Boolean             True                   CSG
  579.           XmNunitType               XmCUnitType             unsigned char       dynamic                CSG
  580.           XmNuserData               XmCUserData             XtPointer           NULL                   CSG
  581.           CCCCoooommmmppppoooossssiiiitttteeee RRRReeeessssoooouuuurrrrcccceeee
  582.           SSSSeeeetttt
  583.           NNNNaaaammmmeeee                 CCCCllllaaaassssssss               TTTTyyyyppppeeee           DDDDeeeeffffaaaauuuulllltttt        AAAAcccccccceeeessssssss
  584.           XmNchildren          XmCReadOnly         WidgetList     NULL           G
  585.           XmNinsertPosition    XmCInsertPosition   XtOrderProc    NULL           CSG
  586.  
  587.  
  588.  
  589.  
  590.  
  591.      Page 9                                         (printed 10/24/98)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  599.  
  600.  
  601.  
  602.           XmNnumChildren       XmCReadOnly         Cardinal       0              G
  603.           CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  604.           NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  605.           XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
  606.           XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  607.           XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  608.           XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  609.           XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  610.           XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  611.           XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
  612.           XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  613.           XmNdepth                        XmCDepth                        int              dynamic                CG
  614.           XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  615.           XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  616.           XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  617.           XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  618.           XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  619.           XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  620.           XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  621.           XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  622.           XmNx                            XmCPosition                     Position         0                      CSG
  623.           XmNy                            XmCPosition                     Position         0                      CSG
  624.  
  625.         CCCCaaaallllllllbbbbaaaacccckkkk
  626.           A pointer to the following structure is passed to each
  627.           callback:
  628.  
  629.           typedef struct
  630.           {
  631.                   int _r_e_a_s_o_n;
  632.                   XEvent * _e_v_e_n_t;
  633.                   Widget _w_i_d_g_e_t;
  634.                   Boolean _d_o_i_t;
  635.                   int _p_o_s_i_t_i_o_n;
  636.                   XmString _v_a_l_u_e;
  637.                   Boolean _c_r_o_s_s_e_d__b_o_u_n_d_a_r_y;
  638.           } XmSpinBoxCallbackStruct;
  639.  
  640.           _r_e_a_s_o_n    Indicates why the callback was invoked. Reasons
  641.                     may be the following:
  642.  
  643.                     XXXXmmmmCCCCRRRR____OOOOKKKK   Spinning has stopped because the SpinBox
  644.                               arrow has been disarmed. XXXXmmmmCCCCRRRR____OOOOKKKK is
  645.                               either the last or only call.
  646.  
  647.                     XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTT
  648.                               The increment arrow has been armed and
  649.                               position is increasing. Further
  650.                               callbacks will come. For a numeric type
  651.                               child, the values displayed are
  652.                               approaching the maximum. For a string
  653.                               SpinBox, the values displayed are
  654.  
  655.  
  656.  
  657.      Page 10                                        (printed 10/24/98)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  665.  
  666.  
  667.  
  668.                               approaching the last entry in the array
  669.                               of XXXXmmmmSSSSttttrrrriiiinnnngggg s.
  670.  
  671.                     XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR
  672.                               The decrement arrow has been armed and
  673.                               position is decreasing. Further
  674.                               callbacks will come. For a numeric type
  675.                               child, the values displayed are
  676.                               approaching the minimum. For a string
  677.                               type child, the values displayed are
  678.                               approaching the first entry in the array
  679.                               of XXXXmmmmSSSSttttrrrriiiinnnnggggs.
  680.  
  681.                     XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____FFFFIIIIRRRRSSSSTTTT
  682.                               The begin data (<<<<oooossssffffBBBBeeeeggggiiiinnnnDDDDaaaattttaaaa>>>>) key
  683.                               sequence has been pressed. The SpinBox
  684.                               is at its first position, displaying the
  685.                               lowest value or the first entry in the
  686.                               array of XXXXmmmmSSSSttttrrrriiiinnnnggggs.
  687.  
  688.                     XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____LLLLAAAASSSSTTTT
  689.                               The end data (<<<<oooossssffffEEEEnnnnddddDDDDaaaattttaaaa>>>>) key sequence
  690.                               has been pressed.  The SpinBox is at its
  691.                               last position, displaying the highest
  692.                               value or the last entry in the array of
  693.                               XXXXmmmmSSSSttttrrrriiiinnnnggggs.
  694.  
  695.           _e_v_e_n_t     Points to the _X_E_v_e_n_t that triggered this callback.
  696.  
  697.           _w_i_d_g_e_t    Specifies the child widget affected by this
  698.                     callback.
  699.  
  700.           _d_o_i_t      When the callback is XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, _d_o_i_t
  701.                     indicates whether or not an action will be
  702.                     performed before the SpinBox position changes. If
  703.                     the callback leaves _d_o_i_t set to True (the
  704.                     default), the spinning action is performed. If the
  705.                     callback sets _d_o_i_t to False, the spinning action
  706.                     is not performed.  When the callback is
  707.                     XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, _d_o_i_t is ignored.
  708.  
  709.           _p_o_s_i_t_i_o_n  Specifies the next value of the SpinBox position
  710.                     (same as XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn). This is an output field for
  711.                     the XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, which may change the
  712.                     next position as dictated by the needs of an
  713.                     application.
  714.  
  715.           _v_a_l_u_e     Specifies the new XXXXmmmmSSSSttttrrrriiiinnnngggg value in the text child
  716.                     widget. The user program must copy this string if
  717.                     it is to be used outside the callback routine.
  718.  
  719.           _c_r_o_s_s_e_d__b_o_u_n_d_a_r_y
  720.  
  721.  
  722.  
  723.      Page 11                                        (printed 10/24/98)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  731.  
  732.  
  733.  
  734.                     Specifies whether or not the SpinBox has crossed
  735.                     the upper or lower boundary (the last or first
  736.                     compound string, or the maximum or minimum value).
  737.                     The _c_r_o_s_s_e_d__b_o_u_n_d_a_r_y value is True if the SpinBox
  738.                     has just crossed a boundary, and False if it has
  739.                     not.
  740.  
  741.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  742.           The XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx translations are as follows:
  743.  
  744.           The following key names are listed in the X standard key
  745.           event translation table syntax. This format is the one used
  746.           by Motif to specify the widget actions corresponding to a
  747.           given key. A brief overview of the format is provided under
  748.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3). For a complete description of the
  749.           format, please refer to the X Toolkit Instrinsics
  750.           Documentation.
  751.  
  752.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>:
  753.                     SpinBArm()
  754.  
  755.           <<<<BBBBttttnnnn1111UUUUpppp>>>>: SpinBDisarm()
  756.  
  757.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffUUUUpppp>>>> :
  758.                     SpinBPrior()
  759.  
  760.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffDDDDoooowwwwnnnn>>>> :
  761.                     SpinBNext()
  762.  
  763.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffLLLLeeeefffftttt>>>> :
  764.                     SpinBLeft()
  765.  
  766.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffRRRRiiiigggghhhhtttt>>>> :
  767.                     SpinBRight()
  768.  
  769.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffBBBBeeeeggggiiiinnnnDDDDaaaattttaaaa>>>> :
  770.                     SpinBFirst()
  771.  
  772.           ::::<<<<KKKKeeeeyyyy>>>><<<<oooossssffffEEEEnnnnddddDDDDaaaattttaaaa>>>> :
  773.                     SpinBLast()
  774.  
  775.         AAAAcccccccceeeelllleeeerrrraaaattttoooorrrrssss
  776.           The XXXXmmmmNNNNaaaacccccccceeeelllleeeerrrraaaattttoooorrrrssss resource of a SpinBox are added to each
  777.           traversable text child. The default XXXXmmmmNNNNaaaacccccccceeeelllleeeerrrraaaattttoooorrrrssss are
  778.           defined in the following list. The bindings for <<<<KKKKeeeeyyyy>>>><<<<oooossssffffUUUUpppp>>>>
  779.           and <<<<KKKKeeeeyyyy>>>><<<<oooossssffffDDDDoooowwwwnnnn>>>> cannot be changed.
  780.  
  781.           <<<<KKKKeeeeyyyy>>>> <<<<oooossssffffUUUUpppp>>>>:
  782.                     SpinBPrior()
  783.  
  784.           <<<<KKKKeeeeyyyy>>>> <<<<oooossssffffDDDDoooowwwwnnnn>>>>:
  785.                     SpinBNext()
  786.  
  787.  
  788.  
  789.      Page 12                                        (printed 10/24/98)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  797.  
  798.  
  799.  
  800.           <<<<KKKKeeeeyyyyUUUUpppp>>>> <<<<oooossssffffUUUUpppp>>>>:
  801.                     SpinBDisarm()
  802.  
  803.           <<<<KKKKeeeeyyyyUUUUpppp>>>> <<<<oooossssffffDDDDoooowwwwnnnn>>>>:
  804.                     SpinBDisarm()
  805.  
  806.           <<<<KKKKeeeeyyyy>>>> <<<<oooossssffffLLLLeeeefffftttt>>>>:
  807.                     SpinBLeft()
  808.  
  809.           <<<<KKKKeeeeyyyy>>>> <<<<oooossssffffRRRRiiiigggghhhhtttt>>>>:
  810.                     SpinBRight()
  811.  
  812.           <<<<KKKKeeeeyyyyUUUUpppp>>>> <<<<oooossssffffLLLLeeeefffftttt>>>>:
  813.                     SpinBDisarm()
  814.  
  815.           <<<<KKKKeeeeyyyyUUUUpppp>>>> <<<<oooossssffffRRRRiiiigggghhhhtttt>>>>:
  816.                     SpinBDisarm()
  817.  
  818.           <<<<KKKKeeeeyyyy>>>> <<<<oooossssffffBBBBeeeeggggiiiinnnnDDDDaaaattttaaaa>>>>:
  819.                     SpinBFirst()
  820.  
  821.           <<<<KKKKeeeeyyyy>>>> <<<<oooossssffffEEEEnnnnddddDDDDaaaattttaaaa>>>>:
  822.                     SpinBLast()
  823.  
  824.         AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  825.           The XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx action routines are as follows:
  826.  
  827.           SpinBArm():
  828.                     Visually arms the SpinBox by drawing the armed
  829.                     arrow so that it appears to be depressed. This
  830.                     action is initiated when the user presses <<<<BBBBttttnnnn1111>>>>
  831.                     while the pointer is within the boundaries of
  832.                     either the increment or decrement arrow. The arrow
  833.                     remains visually armed as long as <<<<BBBBttttnnnn1111>>>> remains
  834.                     depressed.
  835.  
  836.                     If the time period specified by XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy is
  837.                     not greater than zero milliseconds, nothing else
  838.                     happens while <<<<BBBBttttnnnn1111>>>> remains depressed.
  839.  
  840.                     If the time period specified by XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy is
  841.                     greater than zero milliseconds, and the arrow is
  842.                     disarmed before the time period specified by
  843.                     XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy has elapsed, nothing else happens
  844.                     in this action.
  845.  
  846.                     If the time period specified by XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy is
  847.                     greater than zero milliseconds, and the arrow is
  848.                     still armed after the time period specified by
  849.                     XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy has elapsed, the following occurs:
  850.  
  851.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  852.  
  853.  
  854.  
  855.      Page 13                                        (printed 10/24/98)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  863.  
  864.  
  865.  
  866.                           structure, XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt, is set
  867.                           to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTTif the increment arrow is
  868.                           armed, or to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR if the
  869.                           decrement arrow is armed.
  870.  
  871.                        +o  The _p_o_s_i_t_i_o_n member is set to the next
  872.                           position.
  873.  
  874.                        +o  The _d_o_i_t member is set to True.
  875.  
  876.                        +o  XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  877.                           invoked. The application may change the
  878.                           value of _p_o_s_i_t_i_o_n and _d_o_i_t.  If the
  879.                           application sets _d_o_i_t to False, nothing else
  880.                           happens until the XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy period has
  881.                           elapsed, or until <<<<BBBBttttnnnn1111>>>> is released.
  882.  
  883.                     If _d_o_i_t remains set to True, the following occurs:
  884.  
  885.                        +o  The value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnis changed to the
  886.                           value of _p_o_s_i_t_i_o_n in the SpinBox callback
  887.                           structure.
  888.  
  889.                        +o  The text corresponding to the new position
  890.                           is displayed in the traversable text child
  891.                           that currently has focus.
  892.  
  893.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  894.                           structure is set to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTT if the
  895.                           increment arrow is armed, or XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR
  896.                           if the decrement arrow is armed.
  897.  
  898.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  899.                           (new) value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  900.  
  901.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  902.                           called. SpinBox ignores any changes to
  903.                           _p_o_s_i_t_i_o_n or _d_o_i_t members made by
  904.                           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk.
  905.  
  906.                     These events are repeated each time the
  907.                     XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy period elapses and the arrow
  908.                     remains armed.
  909.  
  910.           SpinBDisarm():
  911.                     Visually disarms the SpinBox by drawing the
  912.                     previously armed arrow so that it no longer
  913.                     appears to be depressed.
  914.  
  915.                     If the time period specified by XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy is
  916.                     not greater than zero milliseconds, or the time
  917.                     period specified by XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy has not
  918.  
  919.  
  920.  
  921.      Page 14                                        (printed 10/24/98)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  929.  
  930.  
  931.  
  932.                     elapsed, the following then occurs:
  933.  
  934.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  935.                           structure, XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt, is set
  936.                           to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTTif the increment arrow is
  937.                           armed, or to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR if the
  938.                           decrement arrow is armed.
  939.  
  940.                        +o  The _p_o_s_i_t_i_o_n member is set to the next
  941.                           position.
  942.  
  943.                        +o  The _d_o_i_t member is set to True.
  944.  
  945.                        +o  The XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, if there is
  946.                           one, is invoked. The application may change
  947.                           the value of _p_o_s_i_t_i_o_n and _d_o_i_t.  If the
  948.                           application sets _d_o_i_t to False, nothing else
  949.                           happens until the XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyyperiod has
  950.                           elapsed, or until <<<<BBBBttttnnnn1111>>>> is released.
  951.  
  952.                     If _d_o_i_t remains set to True, the following occurs:
  953.  
  954.                        +o  The value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnis changed to the
  955.                           value of _p_o_s_i_t_i_o_n in the SpinBox callback
  956.                           structure.
  957.  
  958.                        +o  The text corresponding to the new position
  959.                           is displayed in the traversable text child
  960.                           that currently has focus.
  961.  
  962.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  963.                           structure is set to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTT if the
  964.                           increment arrow is armed, or XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR
  965.                           if the decrement arrow is armed.
  966.  
  967.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  968.                           (new) value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  969.  
  970.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  971.                           called. SpinBox ignores any changes to
  972.                           _p_o_s_i_t_i_o_n or _d_o_i_t members made by an
  973.                           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk.
  974.  
  975.                     If an XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkkprocedure is issued
  976.                     after the button has been armed, regardless of the
  977.                     value of XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyy or whether the
  978.                     XXXXmmmmNNNNiiiinnnniiiittttiiiiaaaallllDDDDeeeellllaaaayyyy has expired:
  979.  
  980.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  981.                           structure is set to XXXXmmmmCCCCRRRR____OOOOKKKK.
  982.  
  983.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  984.  
  985.  
  986.  
  987.      Page 15                                        (printed 10/24/98)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  995.  
  996.  
  997.  
  998.                           value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  999.  
  1000.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1001.                           called.
  1002.  
  1003.           SpinBFirst():
  1004.                     The following occurs:
  1005.  
  1006.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1007.                           structure, XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt, is set
  1008.                           to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____FFFFIIIIRRRRSSSSTTTT.
  1009.  
  1010.                        +o  The _p_o_s_i_t_i_o_n member is set to the first (0)
  1011.                           position.
  1012.  
  1013.                        +o  The _d_o_i_t member is set to True.
  1014.  
  1015.                        +o  XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1016.                           invoked. The application may change the
  1017.                           value of _p_o_s_i_t_i_o_n and _d_o_i_t.  If the
  1018.                           application sets _d_o_i_t to False, nothing else
  1019.                           happens until the XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyyperiod has
  1020.                           elapsed, or until <<<<BBBBttttnnnn1111>>>> is released.
  1021.  
  1022.                     If _d_o_i_t remains set to True, the following occurs:
  1023.  
  1024.                        +o  The value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnis changed to the
  1025.                           value of _p_o_s_i_t_i_o_n in the SpinBox callback
  1026.                           structure.
  1027.  
  1028.                        +o  The text corresponding to the new position
  1029.                           is displayed in the traversable text child
  1030.                           that currently has focus.
  1031.  
  1032.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1033.                           structure is set to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____FFFFIIIIRRRRSSSSTTTT.
  1034.  
  1035.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1036.                           (new) value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  1037.  
  1038.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1039.                           called.
  1040.  
  1041.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1042.                           structure is set to XXXXmmmmCCCCRRRR____OOOOKKKK.
  1043.  
  1044.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1045.                           (new) XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnvalue.
  1046.  
  1047.                        +o  The XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkkis called again.
  1048.                           SpinBox ignores any changes to _p_o_s_i_t_i_o_n or
  1049.                           _d_o_i_t members made by
  1050.  
  1051.  
  1052.  
  1053.      Page 16                                        (printed 10/24/98)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  1061.  
  1062.  
  1063.  
  1064.                           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk.
  1065.  
  1066.           SpinBLast():
  1067.                     The following occurs:
  1068.  
  1069.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1070.                           structure, XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt, is set
  1071.                           to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____LLLLAAAASSSSTTTT.
  1072.  
  1073.                        +o  The _p_o_s_i_t_i_o_n member is set to the last
  1074.                           position.
  1075.  
  1076.                        +o  The _d_o_i_t member is set to True.
  1077.  
  1078.                        +o  XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1079.                           invoked. The application may change the
  1080.                           value of _p_o_s_i_t_i_o_n and _d_o_i_t.  If the
  1081.                           application sets _d_o_i_t to False, nothing else
  1082.                           happens until the XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyyperiod has
  1083.                           elapsed, or until <<<<BBBBttttnnnn1111>>>> is released.
  1084.  
  1085.                     If _d_o_i_t remains set to True, the following occurs:
  1086.  
  1087.                        +o  The value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnis changed to the
  1088.                           value of _p_o_s_i_t_i_o_n in the SpinBox callback
  1089.                           structure.
  1090.  
  1091.                        +o  The text corresponding to the new position
  1092.                           is displayed in the traversable text child
  1093.                           that currently has focus.
  1094.  
  1095.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1096.                           structure is set to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____LLLLAAAASSSSTTTT.
  1097.  
  1098.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1099.                           (new) value XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  1100.  
  1101.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1102.                           called.
  1103.  
  1104.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1105.                           structure is set to XXXXmmmmCCCCRRRR____OOOOKKKK.
  1106.  
  1107.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1108.                           (new) of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  1109.  
  1110.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkkis called again.
  1111.                           SpinBox ignores any changes to the _p_o_s_i_t_i_o_n
  1112.                           or _d_o_i_t members made by
  1113.                           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk.
  1114.  
  1115.           SpinBLeft():
  1116.  
  1117.  
  1118.  
  1119.      Page 17                                        (printed 10/24/98)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  1127.  
  1128.  
  1129.  
  1130.                     If the VendorShell resource XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn is
  1131.                     left-to-right, the SSSSppppiiiinnnnBBBBPPPPrrrriiiioooorrrr action is invoked.
  1132.                     Otherwise, the SSSSppppiiiinnnnBBBBNNNNeeeexxxxtttt action is invoked.
  1133.  
  1134.           SpinBNext():
  1135.                     Visually arms the SpinBox by drawing the increment
  1136.                     arrow so that it appears to be depressed. The
  1137.                     following occurs:
  1138.  
  1139.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1140.                           structure, XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt, is set
  1141.                           to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTT.
  1142.  
  1143.                        +o  The _p_o_s_i_t_i_o_n member is set to the next
  1144.                           position.
  1145.  
  1146.                        +o  The _d_o_i_t member is set to True.
  1147.  
  1148.                        +o  XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1149.                           invoked. The application may change the
  1150.                           value of _p_o_s_i_t_i_o_n and _d_o_i_t.  If the
  1151.                           application sets _d_o_i_t to False, nothing else
  1152.                           happens until the XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyyperiod has
  1153.                           elapsed, or until <<<<BBBBttttnnnn1111>>>> is released.
  1154.  
  1155.                     If _d_o_i_t remains set to True, the following occurs:
  1156.  
  1157.                        +o  The value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnis changed to the
  1158.                           value of _p_o_s_i_t_i_o_n in the SpinBox callback
  1159.                           structure.
  1160.  
  1161.                        +o  The text corresponding to the new position
  1162.                           is displayed in the traversable text child
  1163.                           that currently has focus.
  1164.  
  1165.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1166.                           structure is set to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____NNNNEEEEXXXXTTTT.
  1167.  
  1168.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1169.                           (new) value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  1170.  
  1171.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1172.                           called.
  1173.  
  1174.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1175.                           structure is set to XXXXmmmmCCCCRRRR____OOOOKKKK.
  1176.  
  1177.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1178.                           (new) XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  1179.  
  1180.                        +o  The XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkkis called again.
  1181.                           SpinBox ignores any changes to _p_o_s_i_t_i_o_n or
  1182.  
  1183.  
  1184.  
  1185.      Page 18                                        (printed 10/24/98)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  1193.  
  1194.  
  1195.  
  1196.                           _d_o_i_t members made by
  1197.                           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk.
  1198.  
  1199.           SpinBPrior():
  1200.                     Visually arms the SpinBox by drawing the decrement
  1201.                     arrow so that it appears to be depressed. The
  1202.                     following occurs:
  1203.  
  1204.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1205.                           structure, XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxxCCCCaaaallllllllbbbbaaaacccckkkkSSSSttttrrrruuuucccctttt, is set
  1206.                           to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR.
  1207.  
  1208.                        +o  The _p_o_s_i_t_i_o_n member is set to the next
  1209.                           position.
  1210.  
  1211.                        +o  The _d_o_i_t member is set to True.
  1212.  
  1213.                        +o  XXXXmmmmNNNNmmmmooooddddiiiiffffyyyyVVVVeeeerrrriiiiffffyyyyCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1214.                           invoked. The application may change the
  1215.                           value of _p_o_s_i_t_i_o_n and _d_o_i_t.  If the
  1216.                           application sets _d_o_i_t to False, nothing else
  1217.                           happens until the XXXXmmmmNNNNrrrreeeeppppeeeeaaaattttDDDDeeeellllaaaayyyyperiod has
  1218.                           elapsed, or until <<<<BBBBttttnnnn1111>>>> is released.
  1219.  
  1220.                     If _d_o_i_t remains set to True, the following occurs:
  1221.  
  1222.                        +o  The value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnnis changed to the
  1223.                           value of _p_o_s_i_t_i_o_n in the SpinBox callback
  1224.                           structure.
  1225.  
  1226.                        +o  The text corresponding to the new position
  1227.                           is displayed in the traversable text child
  1228.                           that currently has focus.
  1229.  
  1230.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1231.                           structure is set to XXXXmmmmCCCCRRRR____SSSSPPPPIIIINNNN____PPPPRRRRIIIIOOOORRRR.
  1232.  
  1233.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1234.                           (new) value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  1235.  
  1236.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk, if it exists, is
  1237.                           called.
  1238.  
  1239.                        +o  The _r_e_a_s_o_n member of the SpinBox callback
  1240.                           structure is set to XXXXmmmmCCCCRRRR____OOOOKKKK.
  1241.  
  1242.                        +o  The _p_o_s_i_t_i_o_n member is set to the current
  1243.                           (new) value of XXXXmmmmNNNNppppoooossssiiiittttiiiioooonnnn.
  1244.  
  1245.                        +o  XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkkis called again.
  1246.                           SpinBox ignores any changes to _p_o_s_i_t_i_o_n or
  1247.                           _d_o_i_t members made by
  1248.  
  1249.  
  1250.  
  1251.      Page 19                                        (printed 10/24/98)
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.      XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))   UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV   XXXXmmmmSSSSppppiiiinnnnBBBBooooxxxx((((lllliiiibbbbrrrraaaarrrryyyy ccccaaaallllllll))))
  1259.  
  1260.  
  1261.  
  1262.                           XXXXmmmmNNNNvvvvaaaalllluuuueeeeCCCChhhhaaaannnnggggeeeeddddCCCCaaaallllllllbbbbaaaacccckkkk.
  1263.  
  1264.           SpinBRight():
  1265.                     If the VendorShell resource XXXXmmmmNNNNllllaaaayyyyoooouuuuttttDDDDiiiirrrreeeeccccttttiiiioooonnnn is
  1266.                     left-to-right, the SSSSppppiiiinnnnBBBBNNNNeeeexxxxtttt action is invoked.
  1267.                     Otherwise, the SSSSppppiiiinnnnBBBBPPPPrrrriiiioooorrrr action is invoked.
  1268.  
  1269.      RRRREEEELLLLAAAATTTTEEEEDDDD
  1270.           CCCCoooommmmppppoooossssiiiitttteeee(3), CCCCoooonnnnssssttttrrrraaaaiiiinnnntttt(3), CCCCoooorrrreeee(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeeSSSSppppiiiinnnnBBBBooooxxxx(3),
  1271.           XXXXmmmmMMMMaaaannnnaaaaggggeeeerrrr(3), and XXXXmmmmSSSSttttrrrriiiinnnngggg(3).
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.      Page 20                                        (printed 10/24/98)
  1318.  
  1319.  
  1320.  
  1321.